package com.guigu.pojo.manufacture;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * <p>
 * 
 * </p>
 *
 * @author Mr.Zhang
 * @since 2024-12-06
 */
@Data
@TableName("M_DESIGN_PROCEDURE_DETAILS")
public class MDesignProcedureDetails implements Serializable {

    private static final long serialVersionUID=1L;

    //@apiModelProperty(value = "序号，唯一标识生产工序明细记录，自增长")
      @TableId(value = "ID", type = IdType.AUTO)
    private Integer id;

    //@apiModelProperty(value = "父级序号，关联产品生产工序表，不可为空")
    @TableField("PARENT_ID")
    private Integer parentId;

    //@apiModelProperty(value = "工序序号，不可为空，标识工序顺序")
    @TableField("DETAILS_NUMBER")
    private Integer detailsNumber;

    //@apiModelProperty(value = "工序编号，不可为空，关联工序信息")
    @TableField("PROCEDURE_ID")
    private String procedureId;

    //@apiModelProperty(value = "工序名称，可空")
    @TableField("PROCEDURE_NAME")
    private String procedureName;

    //@apiModelProperty(value = "工时数，不可为空")
    @TableField("LABOUR_HOUR_AMOUNT")
    private BigDecimal labourHourAmount;

    //@apiModelProperty(value = "工序描述，可空")
    @TableField("PROCEDURE_DESCRIBE")
    private String procedureDescribe;

    //@apiModelProperty(value = "单位，不可为空")
    @TableField("AMOUNT_UNIT")
    private String amountUnit;

    //@apiModelProperty(value = "单位工时成本，不可为空")
    @TableField("COST_PRICE")
    private BigDecimal costPrice;

    //@apiModelProperty(value = "工时成本小计，计算为工时数与单位工时成本乘积，可空")
    @TableField("SUBTOTAL")
    private BigDecimal subtotal;

    //@apiModelProperty(value = "物料成本小计，计算该工序所有使用的物料成本小计，可空")
    @TableField("MODULE_SUBTOTAL")
    private BigDecimal moduleSubtotal;

    //@apiModelProperty(value = "登记人，可空")
    @TableField("REGISTER")
    private String register;

    //@apiModelProperty(value = "登记时间，可空")
    @TableField("REGISTER_TIME")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss" ,timezone = "GMT+8")
    private Date registerTime;

    //@apiModelProperty(value = "当前工序物料标志，如未设计、已设计，不可为空")
    @TableField("DESIGN_MODULE_TAG")
    private String designModuleTag;

    //@apiModelProperty(value = "当前工序物料变更标志，如未变、已变，不可为空")
    @TableField("DESIGN_MODULE_CHANGE_TAG")
    private String designModuleChangeTag;


}
